home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-12-20 | 8.0 KB | 187 lines | [TEXT/ttxt] |
- UltraShell(TM) Version 1.1
- Copyright (C) 1994 by Zack T. Smith
- All Rights Reserved
-
-
- What is UltraShell?
- -----------------
-
- UltraShell is a program that offers a command-line interface to the
- Macintosh file system and to System 7. It is written from scratch and is
- designed to imitate the proverbial "C Shell" of Un*x-style operating
- systems. UltraShell permits you to accomplish a wide variety of common
- tasks by typing them in rather than navigating through a Finder(R)
- interface and clunky GUI-based utility programs.
-
- UltraShell, because it is a C Shell, is a powerful computer language unto
- itself, and includes a variety of useful commands for data manipulation;
- for instance, it provides mechanisms for manipulating and combining the
- data of multiple programs, such as by feeding the output of one to the
- input of another in a chain.
-
- UltraShell runs under System 7 -- it does NOT require a separate OS, or the
- vast amounts of RAM and hard-disk space typical of Un*x variants.
-
-
- What functionalities does UltraShell 1.0 provide?
- -----------------------------------------------
-
- * The command line interface.
- * The ability to run shell scripts (from the Finder and from within
- UltraShell).
- * Variables for storage of user and system data.
- * Looping, conditional, and expression evaluation commands.
- * The ability to run external commands, both UltraShell-aware and regular
- apps.
- * Internalized conventional commands, such as "ls", "grep", "more", "find",
- "ps", and "mkdir", and "tar" for faster operation.
- * The ability to pipe data between UltraShell-aware commands and redirect
- standard input, standard output, and standard error.
- * GUI-related commands, such as "dialog-open", "dialog-choose",
- "dialog-input".
- * Command-within-a-command functionality, i.e. back-quote embedded
- commands.
- * C Shell aliases (macros).
- * The ability to include looping and conditional commands inside aliases,
- making them function-like.
- * History and simple !-style expressions.
- * Copy, cut, and paste operations.
- * Responsiveness to Ctrl-C, i.e. the break key.
- * Wildcards based on *, ?, and [].
- * Array variables, i.e. with references such as $name[3].
- * A programmable prompt which can display $cwd, $status, time, date, etc.
- * Path completion using the Tab key.
- * Changeable Console window font.
- * Recording of Console activity to a log file.
-
-
- What commands are included with UltraShell?
- -----------------------------------------
-
- Conventional commands:
-
- @ evaluates an expression (e.g. "5 * 9 + $foo") and stores
- the result into a variable
- alias sets a shell macro, or lists all current macros
- beep sounds the system beep
- cat concatenate the data of several files or standard input
- cd changes the current working directory
- chmod sets one or more files' 4-byte type fields.
- clear clears the screen
- commands lists the available internal commands
- cmp compares two files
- cp copies files
- date prints the current date and time
- df prints the free space available in one or more volumes
- dirs prints the contents of the directory stack, which can be
- used to hold paths of working directories.
- du prints space use for a directory hierarchy
- echo echos data to standard output
- eject ejects an ejectable volume, such as a floppy disk.
- env prints current variable settings.
- eval evaluates an expression (e.g. "11 + ( 44 / 9 ) - $foo"), and
- prints the result
- find finds one or more files and/or directories within a directory
- hierarchy
- grep searches the contents of files for patterns
- head prints the first n lines of a text file
- help displays this help listing
- history displays recently typed commands
- let same is "@" (example command: "let x[2] = 10 * $x[3]")
- ls lists the contents of one or more directories in any of a variety
- of formats.
- kill sends a friendly 'kill' message (AppleEvent) to a process.
- mkdir creates a folder
- more dumps the contents of one or more files to the console
- in screen-size chunks
- mv moves and/or renames files and folders
- od prints the byte-for-byte contents of a file in hexadecimal
- format.
- prmod prints one or more files' 4-byte type fields.
- ps lists the current running processes and related info
- pushd pushes $cwd or specified path onto an internal stack of
- directories, then cd's to that path if not already there.
- popd pops the top element from the directory stack and cd's to
- it.
- pwd prints out the current directory
- record_on begins recording console activity to a file
- record_off stops recording console data.
- restart asks the Finder to restart the machine
- rm removes one or more files
- rmdir removes one or more empty directories
- set sets a shell variable to a given value
- setenv sets a shell variable to a given value
- shutdown asks the Finder to shut down the machine
- source executes specified UltraShell(tm) scripts
- split splits a file into chunks based on # of lines or # of bytes.
- tail prints the last n lines of a text file
- tar creates, lists, or extracts a regular Un*x tape archive,
- which is a widely used standard for storing files and
- directories in one file.
- time times the execution of a command, e.g. "time ls -R".
- touch sets one or more files' last-modified dates to the present
- date; if the file(s) don't exist, UltraShell creates them as
- zero length files.
- tolower converts text to lower case
- toupper converts text to upper case
- unalias removes a shell alias i.e. macro
- unset un-sets a shell variable
- unsetenv un-sets a shell variable
- usage lists the parameters that are specified for a given command
- wc counts the # of words, characters, and/or lines in a text file
- vol prints the current volume name or lists available volumes.
-
- Please note that most commands which take input from files can also read
- their data from the standard input. Among the commands which can do this are:
- cat
- grep
- head
- more
- od
- split
- tail
- tar
- tolower
- toupper
- wc
-
- Looping, conditional, and expression evaluation commands:
-
- if, else, endif
- while, endw
- switch, case, breaksw, endsw
- foreach, end
- @ and let (expression evaluator)
- eval (expression evaluator)
-
- GUI and sound related commands in UltraShell(TM) 1.1
-
- Note! Several of the planned GUI commands have been taken out due to time
- and energy constraints. Please let me know if you really need any functions
- beyond the ones listed below, and I'll try to add them.
-
- dialog-choose displays a dialog with 1, 2, or 3 nameable buttons and
- message
- dialog-open displays an "open" dialog to permit the user to select
- a file to be opened
- dialog-save displays a "save" dialog to permit the user to set the
- name and location of a file to be saved
-
- Data redirection
-
- < redirect standard input to read from a file
- | pipe standard output of one command into the standard input of
- the next one
- $< insert a full line from the console as command line argument
- > redirect standard output to a file, overwriting
- >> redirect standard output to a file, appending
- >& redirect standard output and standard error to a file, overwriting
- >>& redirect standard output and standard error to a file, appending
- |& pipe both std output and std error to the std input of the next
- command
-
-
- This is version 3 of the UltraShell Help File.
- All above text is Copyright (C) 1994 by Zack T. Smith
- All Rights Reserved.
-